const api = require("../../../config/api")

// pages/MyList/Detail_checkResult/Detail_checkResult.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 录音播放状态
        isPlaying: false,
        // 工单编号
        workOrderCode: '',
        // 订单的详细信息
        MyInfo: [],
        // 把切割完成的urls，以数组的方式存到Images 
        Images: [],
    },

    // 播放录音
    toggleAudio: function () {
        console.log('播放音频文件');
        const audio = wx.createAudioContext('audio'); // 获取音频上下文
        audio.loop = false; // 显式关闭循环播放
        if (this.data.isPlaying) {
          audio.pause(); // 暂停音频
        } else {
          audio.play(); // 播放音频
        }
    
        // 更新播放状态
        this.setData({
          isPlaying: !this.data.isPlaying
        });
      },   

      // 音频播放结束事件，切换按钮状态
    onAudioEnded: function () {
        console.log('音频播放完毕');
        // 音频播放完毕后，将按钮文本更新为 "录音播放"
        this.setData({
        isPlaying: false // 更新播放状态为未播放
        });
    },

    // 图片预览
    previewImage(e){
        const index = e.currentTarget.dataset.index; // 获取点击的图片索引
        const currentImage = this.data.Images[index];  // 获取当前点击的图片路径
        console.log('点击图片路径', currentImage)

        wx.previewImage({
          current: currentImage,  // 当前显示的图片地址
          urls: this.data.Images  // 需要预览的图片列表
        });
    },

    // 点击上传检测结果，需要将订单详情页的部分参数传递过去
    toUpResult: function(){
        wx.navigateTo({
          url: `/pages/MyList/upResult/upResult?workOrderCode=${this.data.workOrderCode}&customerCode=${this.data.MyInfo.customerCode}&feedbackCode=${this.data.MyInfo.feedbackCode}`,
        })
    },

    // 查看检测结果
    toResult: function(){
        // 跳转到查看检测结果界面，需要把工单号传递
        wx.navigateTo({
            url: `/pages/MyList/Result/Result?workOrderCode=${this.data.workOrderCode}`,
          })
    },

    // 跳转工单完成界面
    toFinish(){
        // 跳转到工单完成界面，需要把工单号传递
        wx.navigateTo({
          url: `/pages/MyList/Finish_List/Finish_List?workOrderCode=${this.data.workOrderCode}`,
        })
    },

    onBack: function(){
        wx.navigateBack({delta: 1})
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        // 从我的工单页面跳转而来，并接收传递过来的参数
        const order = options.workOrderCode;
        if(order){
            this.setData({
                workOrderCode: order
            });
            console.log('传过来workOrder', order)
        }

        // const order1 = options.workOrder;
        // console.log('输出order1', order1)

        // if(order1){
        //     // 从上传检测结果页面跳回工单详情（查看检测结果和完成），需要重新对工单号进行赋值
        //     // 从后一页
        //     console.log('从上传检测页面跳转过来', order1)
        //     this.setData({
        //         workOrderCode: order1
        //     });
        //     console.log('购买界面传过来的workOrder', this.data.workOrderCode)
        // }

        // 首次加载页面时，获取该页面的数据
        this.fetchInfo();
    },

    fetchInfo(){
        // 请求工单详情
        wx.request({
          url: api.getWorkOrderInfo,
          method: 'POST',
          data:{
            workOrderCode: this.data.workOrderCode
          },
          success: (res) => {
            if(res.data.code == 200){
                this.setData({
                    MyInfo: res.data.data
                })
                // 该字符串从后台返回
                // 此处的workOrderImgFile是一个字符串，由所有图片的URL拼接起来

                // console.log('workOrderImgFile上报图片', this.data.MyInfo.workOrderImgFile)

                // 获取urls的拼接字符串
                var urls = this.data.MyInfo.workOrderImgFile;
                // 切割字符串，并把每张图片作为一个元素存入Images数组中
                this.splitImageUrls(urls);
                
                if(this.data.MyInfo.workOrderTestingState == 1){
                    /** 这里表示检测完成，就是已经有检测结果，就隐藏上传检测结果按钮 */
                    // 重新设置工单状态
                    this.setData({
                        'MyInfo.workOrderState': this.data.MyInfo.workOrderState
                    })
                }else{
                    /** 这里表示检测未完成，就是还没有检测结果，就显示上传检测结果按钮 */
                    this.setData({
                        'MyInfo.workOrderState': this.data.MyInfo.workOrderState
                    })
                }
                console.log('MyInfo的数据', this.data.MyInfo)
                console.log('MyInfo.workOrderState的数据', this.data.MyInfo.workOrderState)

            }else{
                wx.showToast({
                  title: res.dara.mesage,
                  icon: 'none'
                })
            }
          },
          fail(){
              wx.showToast({
                title: '请求失败',
                icon: 'none'
              })
          }
        })
    },

    // 将接收的字符串进行切割
    splitImageUrls(urls){
        var pic = [];
        if (urls.includes('&&')) {
            // 使用'&&'切割字符串
            pic = urls.split('&&');
          } else {
            // 如果没有逗号，则直接将 urls 放入 pic 数组中
            pic = [urls];
          }
        //   console.log('切割之后的数组',pic);
          this.setData({
            // 把数组内容直接赋值给testingImgFile
            Images: pic
          });
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {
        // 这个是在提交上传检测结果之后，返回上一个页面？
        const orderCode = this.options.workOrderCode;
        if (orderCode) {
            this.setData({ 
                workOrderCode: orderCode 
            });
            console.log(' 完成检测页面跳转,更新订单状态', orderCode);
        }
        this.fetchInfo();
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})